package razerdp.util;
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.view.View;
import android.view.animation.AccelerateInterpolator;
import android.view.animation.AlphaAnimation;
import android.view.animation.Animation;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
/**
* Created by 大灯泡 on 2017/1/13.
*/
public class SimpleAnimUtil {
/**
* 生成TranslateAnimation
*
* @param durationMillis 动画显示时间
* @param start 初始位置
*/
public static Animation getTranslateAnimation(int start, int end, int durationMillis) {
Animation translateAnimation = new TranslateAnimation(0, 0, start, end);
translateAnimation.setDuration(durationMillis);
translateAnimation.setFillEnabled(true);
translateAnimation.setFillAfter(true);
return translateAnimation;
}
/**
* 生成ScaleAnimation
*
* time=300
*/
public static Animation getScaleAnimation(float fromX,
float toX,
float fromY,
float toY,
int pivotXType,
float pivotXValue,
int pivotYType,
float pivotYValue) {
Animation scaleAnimation = new ScaleAnimation(fromX, toX, fromY, toY, pivotXType, pivotXValue, pivotYType,
pivotYValue
);
scaleAnimation.setDuration(300);
scaleAnimation.setFillEnabled(true);
scaleAnimation.setFillAfter(true);
return scaleAnimation;
}
/**
* 生成自定义ScaleAnimation
*/
public static Animation getDefaultScaleAnimation() {
Animation scaleAnimation = new ScaleAnimation(0f, 1f, 0f, 1f, Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f
);
scaleAnimation.setDuration(300);
scaleAnimation.setInterpolator(new AccelerateInterpolator());
scaleAnimation.setFillEnabled(true);
scaleAnimation.setFillAfter(true);
return scaleAnimation;
}
/**
* 生成默认的AlphaAnimation
*/
public static Animation getDefaultAlphaAnimation() {
Animation alphaAnimation = new AlphaAnimation(0.0f, 1.0f);
alphaAnimation.setDuration(300);
alphaAnimation.setInterpolator(new AccelerateInterpolator());
alphaAnimation.setFillEnabled(true);
alphaAnimation.setFillAfter(true);
return alphaAnimation;
}
/**
* 从下方滑动上来
*/
public static AnimatorSet getDefaultSlideFromBottomAnimationSet(View mAnimaView) {
AnimatorSet set = null;
set = new AnimatorSet();
if (mAnimaView != null) {
set.playTogether(
ObjectAnimator.ofFloat(mAnimaView, "translationY", 250, 0).setDuration(400),
ObjectAnimator.ofFloat(mAnimaView, "alpha", 0.4f, 1).setDuration(250 * 3 / 2)
);
}
return set;
}
}